package com.hotai.service;

import com.aliyun.oss.OSSClient;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hotai.comment.dtos.ResponseResult;
import com.hotai.comment.pojo.Courseware;
import com.hotai.vo.account.AccountPage;
import com.hotai.vo.account.AccountTeach;
import com.hotai.vo.courseware.CoursewareList;
import com.hotai.vo.courseware.CoursewareSave;
import com.hotai.vo.courseware.CoursewaredetaileList;
import com.hotai.vo.courseware.Coursewarejia;
import com.hotai.vo.sho.GuanSho;
import com.hotai.vo.sho.TearSho;
import com.hotai.vo.sho.XueSho;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.util.ArrayList;

public interface CoursewareService extends IService<Courseware> {
    ResponseResult PageList(CoursewareList query);

    ResponseResult Waredetail( CoursewaredetaileList queryware);

    ResponseResult CourseJia(Coursewarejia coursewarejia);

    ResponseResult deleteId(Integer id);

    ResponseResult Savedetail(CoursewareSave queryware);


    ResponseResult CourseImg(MultipartFile file);

    ResponseResult Coursewarejian(MultipartFile file);

    ResponseResult CourseFinbyid(Integer id);

    ResponseResult guanShoPage(GuanSho guanSho);

    ResponseResult StuShoPage(XueSho xueSho);

    ResponseResult Stushi(CoursewaredetaileList queryware);


    ResponseResult guanShoShangPage();

    ResponseResult deleteIAll(String ide);

    ResponseResult ShangJia(String ide);

    ResponseResult XiaJia(String ide);

    ResponseResult deleteIdShe(Integer cid, Integer eid);

    ResponseResult xiaZai(Integer id);

    ResponseResult StushiDelete(Integer id);

    ResponseResult Bao(Integer id);

    ResponseResult pin(Integer sid, Integer cid);

    ResponseResult bu(Integer id);

    ResponseResult Benrenewal(MultipartFile file);

    ResponseResult StuTop(String fname,String xid);

    ResponseResult WareTop(Integer id, String xid, HttpServletRequest request);

    ResponseResult Accountfind(AccountPage accountPage);

    ResponseResult findWeek(AccountPage accountPage);

    ResponseResult downloadXia(Integer id);

    ResponseResult WeekPeriod(AccountPage accountPage);

    ResponseResult TearPeriod(AccountTeach accountPage);

    ResponseResult Subjectshi(AccountTeach accountPage);

    ResponseResult TeachCount(AccountTeach accountPage);

    String[] uploadObject2OSS(OSSClient ossClient, File newFile, String bucketName, String s, String format, String formats);
}
